home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / enlightenment / e_bindings.h < prev    next >
C/C++ Source or Header  |  2006-01-09  |  5KB  |  117 lines

  1. /*
  2.  * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
  3.  */
  4. #ifdef E_TYPEDEFS
  5.  
  6. typedef enum _E_Binding_Context
  7. {
  8.    E_BINDING_CONTEXT_NONE,
  9.    E_BINDING_CONTEXT_UNKNOWN,
  10.    E_BINDING_CONTEXT_BORDER,
  11.    E_BINDING_CONTEXT_ZONE,
  12.    E_BINDING_CONTEXT_CONTAINER,
  13.    E_BINDING_CONTEXT_MANAGER,
  14.    E_BINDING_CONTEXT_MENU,
  15.    E_BINDING_CONTEXT_WINLIST,
  16.    E_BINDING_CONTEXT_POPUP,
  17.    E_BINDING_CONTEXT_ANY
  18. } E_Binding_Context;
  19.  
  20. /* why do we do this? config stored bindings must be fixed. x's modifier masks
  21.  * may change from time to time, xserver to xserver - so we cant do a 
  22.  * simple match without translating to fixed values
  23.  */
  24. typedef enum _E_Binding_Modifier
  25. {
  26.    E_BINDING_MODIFIER_NONE = 0,
  27.    E_BINDING_MODIFIER_SHIFT = (1 << 0),
  28.    E_BINDING_MODIFIER_CTRL = (1 << 1),
  29.    E_BINDING_MODIFIER_ALT = (1 << 2),
  30.    E_BINDING_MODIFIER_WIN = (1 << 3)
  31. } E_Binding_Modifier;
  32.  
  33. typedef struct _E_Binding_Mouse  E_Binding_Mouse;
  34. typedef struct _E_Binding_Key    E_Binding_Key;
  35. typedef struct _E_Binding_Signal E_Binding_Signal;
  36. typedef struct _E_Binding_Wheel  E_Binding_Wheel;
  37.  
  38. #else
  39. #ifndef E_BINDINGS_H
  40. #define E_BINDINGS_H
  41.  
  42. struct _E_Binding_Mouse
  43. {
  44.    E_Binding_Context ctxt;
  45.    int button;
  46.    E_Binding_Modifier mod;
  47.    unsigned char any_mod : 1;
  48.    char *action;
  49.    char *params;
  50. };
  51.  
  52. struct _E_Binding_Key
  53. {
  54.    E_Binding_Context ctxt;
  55.    char *key;
  56.    E_Binding_Modifier mod;
  57.    unsigned char any_mod : 1;
  58.    char *action;
  59.    char *params;
  60. };
  61.  
  62. struct _E_Binding_Signal
  63. {
  64.    E_Binding_Context ctxt;
  65.    char *sig;
  66.    char *src;
  67.    E_Binding_Modifier mod;
  68.    unsigned char any_mod : 1;
  69.    char *action;
  70.    char *params;
  71. };
  72.  
  73. struct _E_Binding_Wheel
  74. {
  75.    E_Binding_Context ctxt;
  76.    int direction;
  77.    int z;
  78.    E_Binding_Modifier mod;
  79.    unsigned char any_mod : 1;
  80.    char *action;
  81.    char *params;
  82. };
  83.  
  84. EAPI int         e_bindings_init(void);
  85. EAPI int         e_bindings_shutdown(void);
  86.  
  87. EAPI void        e_bindings_mouse_add(E_Binding_Context ctxt, int button, E_Binding_Modifier mod, int any_mod, char *action, char *params);
  88. EAPI void        e_bindings_mouse_del(E_Binding_Context ctxt, int button, E_Binding_Modifier mod, int any_mod, char *action, char *params);
  89. EAPI void        e_bindings_mouse_grab(E_Binding_Context ctxt, Ecore_X_Window win);
  90. EAPI void        e_bindings_mouse_ungrab(E_Binding_Context ctxt, Ecore_X_Window win);
  91. EAPI E_Action   *e_bindings_mouse_down_find(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Mouse_Button_Down *ev, E_Binding_Mouse **bind_ret);
  92. EAPI E_Action   *e_bindings_mouse_down_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Mouse_Button_Down *ev);
  93. EAPI E_Action   *e_bindings_mouse_up_find(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Mouse_Button_Up *ev, E_Binding_Mouse **bind_ret);
  94. EAPI E_Action   *e_bindings_mouse_up_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Mouse_Button_Up *ev);
  95.  
  96. EAPI void        e_bindings_key_add(E_Binding_Context ctxt, char *key, E_Binding_Modifier mod, int any_mod, char *action, char *params);
  97. EAPI void        e_bindings_key_del(E_Binding_Context ctxt, char *key, E_Binding_Modifier mod, int any_mod, char *action, char *params);
  98. EAPI void        e_bindings_key_grab(E_Binding_Context ctxt, Ecore_X_Window win);
  99. EAPI void        e_bindings_key_ungrab(E_Binding_Context ctxt, Ecore_X_Window win);
  100. EAPI E_Action   *e_bindings_key_down_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Key_Down *ev);
  101. EAPI E_Action   *e_bindings_key_up_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Key_Up *ev);
  102.  
  103. EAPI void        e_bindings_signal_add(E_Binding_Context ctxt, char *sig, char *src, E_Binding_Modifier mod, int any_mod, char *action, char *params);
  104. EAPI void        e_bindings_signal_del(E_Binding_Context ctxt, char *sig, char *src, E_Binding_Modifier mod, int any_mod, char *action, char *params);
  105. EAPI E_Action   *e_bindings_signal_find(E_Binding_Context ctxt, E_Object *obj, char *sig, char *src, E_Binding_Signal **bind_ret);
  106. EAPI E_Action   *e_bindings_signal_handle(E_Binding_Context ctxt, E_Object *obj, char *sig, char *src);
  107.                      
  108. EAPI void        e_bindings_wheel_add(E_Binding_Context ctxt, int direction, int z, E_Binding_Modifier mod, int any_mod, char *action, char *params);
  109. EAPI void        e_bindings_wheel_del(E_Binding_Context ctxt, int direction, int z, E_Binding_Modifier mod, int any_mod, char *action, char *params);
  110. EAPI void        e_bindings_wheel_grab(E_Binding_Context ctxt, Ecore_X_Window win);
  111. EAPI void        e_bindings_wheel_ungrab(E_Binding_Context ctxt, Ecore_X_Window win);
  112. EAPI E_Action   *e_bindings_wheel_find(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Mouse_Wheel *ev, E_Binding_Wheel **bind_ret);
  113. EAPI E_Action   *e_bindings_wheel_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Mouse_Wheel *ev);
  114.  
  115. #endif
  116. #endif
  117.